package com.yiku.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.List;

/**
 * @Author:ludada
 * @Date:2024/02/24 13:22
 */
@Data
@ApiModel("BOM前端请求实体类")
@Accessors(chain = true)
public class BOMVueDAO {
    @ApiModelProperty("级次")
    private Integer lever;
    @ApiModelProperty("id前端")
    private Long id;
    @ApiModelProperty("母件料号")
    private String itemMaster;

     @ApiModelProperty("母件料号label")
    private String label;

     @ApiModelProperty("母件换算率")
    private Double ratio;


    @ApiModelProperty("母件料号编码")
    private String itemMasterCode;

//     @ApiModelProperty("料品是否需要新增")
//        private boolean isAdd;

//     @ApiModelProperty("新增实体类")
//     private ItemMasterAddDAO addDAO;
    @ApiModelProperty("生产单位编码")
    private String ProductUOM;
    @ApiModelProperty("生产单位")
    private String ProductUOMName;



    @ApiModelProperty("版本号")
    private String versionCode;
      @ApiModelProperty("配比")
    private String pb;

    @ApiModelProperty("生效日期")
    private String effectiveDate;
    @ApiModelProperty("失效日期")
    private String disableDate;
    @ApiModelProperty("生产目的 0:主制造 1：委外")
    private String alternateType;

    @ApiModelProperty("备注")
    private String explan;

    @ApiModelProperty("bom模板名称")
    private String bomName;

    @ApiModelProperty("bom归属部门")
    private String gsDept;

    @ApiModelProperty("子项")
    private List<Child> children;

    @ApiModelProperty("BOM")
    private List<BOMVueDAO> bom;
    @ApiModelProperty("U9C状态 0 开立| 1 审核中 | 2 已核准")
    private int status;

    @ApiModelProperty("启停")
    private String qt;

    @ApiModelProperty("分类编码")
    private String cateCode;

    @ApiModelProperty("分类名称")
    private String cateName;


    @Data
    @Accessors(chain = true)
    public static class Child {
        @ApiModelProperty("id前端")
        private long id;




        @ApiModelProperty("子件项次")
        private String sequence;
        @ApiModelProperty("子项")
        private String itemMaster;
        @ApiModelProperty("子项编码")
        private String itemMasterCode;

        @ApiModelProperty("子项label")
        private String label;


        @ApiModelProperty("版本号")
        private String versionCode;
        @ApiModelProperty("生效日期")
        private String effectiveDate;
        @ApiModelProperty("失效日期")
        private String disableDate;
        @ApiModelProperty("用量")
        private Double usageQty;

        @ApiModelProperty("母件底数")
        private Double parentQty;

        @ApiModelProperty("取整")
        private Boolean IsCeiling;

        @ApiModelProperty("用量单位")
        private String uom;
        @ApiModelProperty("用量单位编码")
        private String uomCode;

        @ApiModelProperty("变动损耗")
        private double Scrap;

        @ApiModelProperty("发料方式  2:不发料  1：倒扣   0：推式")
        private String IssueStyle;

        @ApiModelProperty("供应组织")
        private String IssueOrg;

        @ApiModelProperty("供应组织编码")
        private String IssueOrgCode;

        @ApiModelProperty("虚拟")
        private Boolean isPhantomPart;

        @ApiModelProperty("备注")
        private String explan;

        @ApiModelProperty("生效")
        private Boolean IsEffective;



    }
}
